package com.ky.tms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ky.tms.entity.TmsCost;
import com.ky.tms.entity.TmsInvoice;
import com.ky.tms.entity.TmsOrder;
import com.ky.tms.exception.PredictableException;
import com.ky.tms.vo.InvoiceOrders;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author chengkaimao
 * @since 2020-04-22
 */
public interface ITmsInvoiceService extends IService<TmsInvoice> {

    IPage<TmsInvoice> gatheringPage(String userName, TmsInvoice tmsInvoice, Long limit, Long pages);

    IPage<TmsInvoice> invoiceReportPage(String userName, TmsInvoice tmsInvoice, Long limit, Long pages);

    String checkInvoice(List<TmsOrder> orders) throws PredictableException;

    void invoice(String userName, InvoiceOrders invoiceOrders) throws PredictableException;

    void gathering(String userName, TmsInvoice tmsInvoice) throws PredictableException;

    void confirm(String userName, TmsInvoice tmsInvoice) throws PredictableException;

}
